function Coupon(params){ 
	 
}

Coupon.Where = function(type,proxy){
	this.type = type;
	this.proxy=proxy;
	this.linked = null;
	this.set = null;
	if(this.type==0){
		this.set = new Coupon.Where(1,true);
		this.set.linked = this;
	}
	this.getProxy = function(){
		var m = new Coupon.Where(this.type);//当前的对像
		if(this.type==0){
			m.set = new Coupon.Where(1,true);//set对象
			m.set.linked = m;
		}else{
			m.linked=this.linked;
			this.linked.linked=m;
		}
		return m;
	}
	this.data = {};
	this.put = function(key,value){
		this.data[key] = value;
	}
	this.get = function(key){
		return this.data[key];
	}
	
	
	/** 编号 [非空]       **/
	this.id=function(id){if(this.proxy)return this.getProxy().id(id);  this.put("id", id);return this;};
	/** and id is null */
	this.idNull=function(){if(this.proxy)return this.getProxy().idNull();if(this.get("idNot")==null)this.put("idNot", "");this.put("id", null);return this;};
	/** not .... */
	this.idNot=function(){if(this.proxy)return this.getProxy().idNot();this.put("idNot", "not");return this;};
	this.idNotNull=function(){if(this.proxy)return this.getProxy().idNotNull();this.put("idNot", "not");this.put("id", null);return this;};
	this.idNot=function(id){if(this.proxy)return this.getProxy().idNot(id);this.put("idNot", "not");this.put("id", id);return this;};
		
	/** and id <= ? */
	this.idMin=function(min){if(this.proxy)return this.getProxy().idMin(min);this.put("idMin", min);return this;};
	/** and id >= ? */
	this.idMax=function(max){if(this.proxy)return this.getProxy().idMax(max);this.put("idMax", max);return this;};
		
		
	this.idIn=function(ids){
		if(this.proxy)return this.getProxy().idIn(ids);  this.put("idIn", ids);return this;
	};	
		 
	
	
	/** 折扣 [非空]    最大设9.9折 不能大于等于10  也不能为负数   **/
	this.discount=function(discount){if(this.proxy)return this.getProxy().discount(discount);  this.put("discount", discount);return this;};
	/** and discount is null */
	this.discountNull=function(){if(this.proxy)return this.getProxy().discountNull();if(this.get("discountNot")==null)this.put("discountNot", "");this.put("discount", null);return this;};
	/** not .... */
	this.discountNot=function(){if(this.proxy)return this.getProxy().discountNot();this.put("discountNot", "not");return this;};
	this.discountNotNull=function(){if(this.proxy)return this.getProxy().discountNotNull();this.put("discountNot", "not");this.put("discount", null);return this;};
	this.discountNot=function(discount){if(this.proxy)return this.getProxy().discountNot(discount);this.put("discountNot", "not");this.put("discount", discount);return this;};
		
	/** and discount <= ? */
	this.discountMin=function(min){if(this.proxy)return this.getProxy().discountMin(min);this.put("discountMin", min);return this;};
	/** and discount >= ? */
	this.discountMax=function(max){if(this.proxy)return this.getProxy().discountMax(max);this.put("discountMax", max);return this;};
		
		 
	
	
	/** 所属品牌 [非空] [Merchant]      **/
	this.merchant=function(merchant){if(this.proxy)return this.getProxy().merchant(merchant);  this.put("merchant", merchant);return this;};
	/** and merchant is null */
	this.merchantNull=function(){if(this.proxy)return this.getProxy().merchantNull();if(this.get("merchantNot")==null)this.put("merchantNot", "");this.put("merchant", null);return this;};
	/** not .... */
	this.merchantNot=function(){if(this.proxy)return this.getProxy().merchantNot();this.put("merchantNot", "not");return this;};
	this.merchantNotNull=function(){if(this.proxy)return this.getProxy().merchantNotNull();this.put("merchantNot", "not");this.put("merchant", null);return this;};
	this.merchantNot=function(merchant){if(this.proxy)return this.getProxy().merchantNot(merchant);this.put("merchantNot", "not");this.put("merchant", merchant);return this;};
		
		
	this.merchantIn=function(ids){
		if(this.proxy)return this.getProxy().merchantIn(ids);  this.put("merchantIn", ids);return this;
	};	
		 
	
	
	/** 适用产品 [非空] [Commodity]      **/
	this.commodity=function(commodity){if(this.proxy)return this.getProxy().commodity(commodity);  this.put("commodity", commodity);return this;};
	/** and commodity is null */
	this.commodityNull=function(){if(this.proxy)return this.getProxy().commodityNull();if(this.get("commodityNot")==null)this.put("commodityNot", "");this.put("commodity", null);return this;};
	/** not .... */
	this.commodityNot=function(){if(this.proxy)return this.getProxy().commodityNot();this.put("commodityNot", "not");return this;};
	this.commodityNotNull=function(){if(this.proxy)return this.getProxy().commodityNotNull();this.put("commodityNot", "not");this.put("commodity", null);return this;};
	this.commodityNot=function(commodity){if(this.proxy)return this.getProxy().commodityNot(commodity);this.put("commodityNot", "not");this.put("commodity", commodity);return this;};
		
		
	this.commodityIn=function(ids){
		if(this.proxy)return this.getProxy().commodityIn(ids);  this.put("commodityIn", ids);return this;
	};	
		 
	
	
	/** 用户编号 [非空]       **/
	this.uid=function(uid){if(this.proxy)return this.getProxy().uid(uid);  this.put("uid", uid);return this;};
	/** and uid is null */
	this.uidNull=function(){if(this.proxy)return this.getProxy().uidNull();if(this.get("uidNot")==null)this.put("uidNot", "");this.put("uid", null);return this;};
	/** not .... */
	this.uidNot=function(){if(this.proxy)return this.getProxy().uidNot();this.put("uidNot", "not");return this;};
	this.uidNotNull=function(){if(this.proxy)return this.getProxy().uidNotNull();this.put("uidNot", "not");this.put("uid", null);return this;};
	this.uidNot=function(uid){if(this.proxy)return this.getProxy().uidNot(uid);this.put("uidNot", "not");this.put("uid", uid);return this;};
		
	/** and uid <= ? */
	this.uidMin=function(min){if(this.proxy)return this.getProxy().uidMin(min);this.put("uidMin", min);return this;};
	/** and uid >= ? */
	this.uidMax=function(max){if(this.proxy)return this.getProxy().uidMax(max);this.put("uidMax", max);return this;};
		
		
	this.uidIn=function(ids){
		if(this.proxy)return this.getProxy().uidIn(ids);  this.put("uidIn", ids);return this;
	};	
		 
	
	
	/** 用户昵称        **/
	this.nickName=function(nickName){if(this.proxy)return this.getProxy().nickName(nickName);  this.put("nickName", nickName);return this;};
	/** and nick_name is null */
	this.nickNameNull=function(){if(this.proxy)return this.getProxy().nickNameNull();if(this.get("nickNameNot")==null)this.put("nickNameNot", "");this.put("nickName", null);return this;};
	/** not .... */
	this.nickNameNot=function(){if(this.proxy)return this.getProxy().nickNameNot();this.put("nickNameNot", "not");return this;};
	this.nickNameNotNull=function(){if(this.proxy)return this.getProxy().nickNameNotNull();this.put("nickNameNot", "not");this.put("nickName", null);return this;};
	this.nickNameNot=function(nickName){if(this.proxy)return this.getProxy().nickNameNot(nickName);this.put("nickNameNot", "not");this.put("nickName", nickName);return this;};
		
		 
	
	
	/** 用户 [非空] [Member]      **/
	this.member=function(member){if(this.proxy)return this.getProxy().member(member);  this.put("member", member);return this;};
	/** and member is null */
	this.memberNull=function(){if(this.proxy)return this.getProxy().memberNull();if(this.get("memberNot")==null)this.put("memberNot", "");this.put("member", null);return this;};
	/** not .... */
	this.memberNot=function(){if(this.proxy)return this.getProxy().memberNot();this.put("memberNot", "not");return this;};
	this.memberNotNull=function(){if(this.proxy)return this.getProxy().memberNotNull();this.put("memberNot", "not");this.put("member", null);return this;};
	this.memberNot=function(member){if(this.proxy)return this.getProxy().memberNot(member);this.put("memberNot", "not");this.put("member", member);return this;};
		
		
	this.memberIn=function(ids){
		if(this.proxy)return this.getProxy().memberIn(ids);  this.put("memberIn", ids);return this;
	};	
		 
	
	
	/** 是否失效    0:未失效 1:已失效     **/
	this.isOk=function(isOk){if(this.proxy)return this.getProxy().isOk(isOk);  this.put("isOk", isOk);return this;};
	/** and is_ok is null */
	this.isOkNull=function(){if(this.proxy)return this.getProxy().isOkNull();if(this.get("isOkNot")==null)this.put("isOkNot", "");this.put("isOk", null);return this;};
	/** not .... */
	this.isOkNot=function(){if(this.proxy)return this.getProxy().isOkNot();this.put("isOkNot", "not");return this;};
	this.isOkNotNull=function(){if(this.proxy)return this.getProxy().isOkNotNull();this.put("isOkNot", "not");this.put("isOk", null);return this;};
	this.isOkNot=function(isOk){if(this.proxy)return this.getProxy().isOkNot(isOk);this.put("isOkNot", "not");this.put("isOk", isOk);return this;};
		
		
	this.isOkIn=function(ids){
		if(this.proxy)return this.getProxy().isOkIn(ids);  this.put("isOkIn", ids);return this;
	};	
		 
	
	
	/** 有效期 [非空]       **/
	this.dayRemain=function(dayRemain){if(this.proxy)return this.getProxy().dayRemain(dayRemain);  this.put("dayRemain", dayRemain);return this;};
	/** and day_remain is null */
	this.dayRemainNull=function(){if(this.proxy)return this.getProxy().dayRemainNull();if(this.get("dayRemainNot")==null)this.put("dayRemainNot", "");this.put("dayRemain", null);return this;};
	/** not .... */
	this.dayRemainNot=function(){if(this.proxy)return this.getProxy().dayRemainNot();this.put("dayRemainNot", "not");return this;};
	this.dayRemainNotNull=function(){if(this.proxy)return this.getProxy().dayRemainNotNull();this.put("dayRemainNot", "not");this.put("dayRemain", null);return this;};
	this.dayRemainNot=function(dayRemain){if(this.proxy)return this.getProxy().dayRemainNot(dayRemain);this.put("dayRemainNot", "not");this.put("dayRemain", dayRemain);return this;};
		
	/** and day_remain >= ? */
	this.dayRemainStart=function(start){if(this.proxy)return this.getProxy().dayRemainStart(start);this.put("dayRemainStart", start);return this;};			
	/** and day_remain <= ? */
	this.dayRemainEnd=function(end){if(this.proxy)return this.getProxy().dayRemainEnd(end);this.put("dayRemainEnd", end);return this;};
		
		 
	
	
	/** 优惠卷名称    1:定向优惠券 2:新人大礼 3:邀请优惠券 4:关注优惠券 5:线下优惠券 6:老客户回归     **/
	this.sources=function(sources){if(this.proxy)return this.getProxy().sources(sources);  this.put("sources", sources);return this;};
	/** and sources is null */
	this.sourcesNull=function(){if(this.proxy)return this.getProxy().sourcesNull();if(this.get("sourcesNot")==null)this.put("sourcesNot", "");this.put("sources", null);return this;};
	/** not .... */
	this.sourcesNot=function(){if(this.proxy)return this.getProxy().sourcesNot();this.put("sourcesNot", "not");return this;};
	this.sourcesNotNull=function(){if(this.proxy)return this.getProxy().sourcesNotNull();this.put("sourcesNot", "not");this.put("sources", null);return this;};
	this.sourcesNot=function(sources){if(this.proxy)return this.getProxy().sourcesNot(sources);this.put("sourcesNot", "not");this.put("sources", sources);return this;};
		
		
	this.sourcesIn=function(ids){
		if(this.proxy)return this.getProxy().sourcesIn(ids);  this.put("sourcesIn", ids);return this;
	};	
		 
	
	
	/** 优惠卷ID        **/
	this.couponId=function(couponId){if(this.proxy)return this.getProxy().couponId(couponId);  this.put("couponId", couponId);return this;};
	/** and coupon_id is null */
	this.couponIdNull=function(){if(this.proxy)return this.getProxy().couponIdNull();if(this.get("couponIdNot")==null)this.put("couponIdNot", "");this.put("couponId", null);return this;};
	/** not .... */
	this.couponIdNot=function(){if(this.proxy)return this.getProxy().couponIdNot();this.put("couponIdNot", "not");return this;};
	this.couponIdNotNull=function(){if(this.proxy)return this.getProxy().couponIdNotNull();this.put("couponIdNot", "not");this.put("couponId", null);return this;};
	this.couponIdNot=function(couponId){if(this.proxy)return this.getProxy().couponIdNot(couponId);this.put("couponIdNot", "not");this.put("couponId", couponId);return this;};
		
	/** and coupon_id <= ? */
	this.couponIdMin=function(min){if(this.proxy)return this.getProxy().couponIdMin(min);this.put("couponIdMin", min);return this;};
	/** and coupon_id >= ? */
	this.couponIdMax=function(max){if(this.proxy)return this.getProxy().couponIdMax(max);this.put("couponIdMax", max);return this;};
		
		
	this.couponIdIn=function(ids){
		if(this.proxy)return this.getProxy().couponIdIn(ids);  this.put("couponIdIn", ids);return this;
	};	
		 
	
	
	/** 使用情况    1:待使用 2:已使用 3:失效     **/
	this.useStatus=function(useStatus){if(this.proxy)return this.getProxy().useStatus(useStatus);  this.put("useStatus", useStatus);return this;};
	/** and use_status is null */
	this.useStatusNull=function(){if(this.proxy)return this.getProxy().useStatusNull();if(this.get("useStatusNot")==null)this.put("useStatusNot", "");this.put("useStatus", null);return this;};
	/** not .... */
	this.useStatusNot=function(){if(this.proxy)return this.getProxy().useStatusNot();this.put("useStatusNot", "not");return this;};
	this.useStatusNotNull=function(){if(this.proxy)return this.getProxy().useStatusNotNull();this.put("useStatusNot", "not");this.put("useStatus", null);return this;};
	this.useStatusNot=function(useStatus){if(this.proxy)return this.getProxy().useStatusNot(useStatus);this.put("useStatusNot", "not");this.put("useStatus", useStatus);return this;};
		
		
	this.useStatusIn=function(ids){
		if(this.proxy)return this.getProxy().useStatusIn(ids);  this.put("useStatusIn", ids);return this;
	};	
		 
	
	
	/** 修改时间 [非空]       **/
	this.updateTime=function(updateTime){if(this.proxy)return this.getProxy().updateTime(updateTime);  this.put("updateTime", updateTime);return this;};
	/** and update_time is null */
	this.updateTimeNull=function(){if(this.proxy)return this.getProxy().updateTimeNull();if(this.get("updateTimeNot")==null)this.put("updateTimeNot", "");this.put("updateTime", null);return this;};
	/** not .... */
	this.updateTimeNot=function(){if(this.proxy)return this.getProxy().updateTimeNot();this.put("updateTimeNot", "not");return this;};
	this.updateTimeNotNull=function(){if(this.proxy)return this.getProxy().updateTimeNotNull();this.put("updateTimeNot", "not");this.put("updateTime", null);return this;};
	this.updateTimeNot=function(updateTime){if(this.proxy)return this.getProxy().updateTimeNot(updateTime);this.put("updateTimeNot", "not");this.put("updateTime", updateTime);return this;};
		
	/** and update_time >= ? */
	this.updateTimeStart=function(start){if(this.proxy)return this.getProxy().updateTimeStart(start);this.put("updateTimeStart", start);return this;};			
	/** and update_time <= ? */
	this.updateTimeEnd=function(end){if(this.proxy)return this.getProxy().updateTimeEnd(end);this.put("updateTimeEnd", end);return this;};
		
		 
	
	
	/** 添加时间 [非空]       **/
	this.addTime=function(addTime){if(this.proxy)return this.getProxy().addTime(addTime);  this.put("addTime", addTime);return this;};
	/** and add_time is null */
	this.addTimeNull=function(){if(this.proxy)return this.getProxy().addTimeNull();if(this.get("addTimeNot")==null)this.put("addTimeNot", "");this.put("addTime", null);return this;};
	/** not .... */
	this.addTimeNot=function(){if(this.proxy)return this.getProxy().addTimeNot();this.put("addTimeNot", "not");return this;};
	this.addTimeNotNull=function(){if(this.proxy)return this.getProxy().addTimeNotNull();this.put("addTimeNot", "not");this.put("addTime", null);return this;};
	this.addTimeNot=function(addTime){if(this.proxy)return this.getProxy().addTimeNot(addTime);this.put("addTimeNot", "not");this.put("addTime", addTime);return this;};
		
	/** and add_time >= ? */
	this.addTimeStart=function(start){if(this.proxy)return this.getProxy().addTimeStart(start);this.put("addTimeStart", start);return this;};			
	/** and add_time <= ? */
	this.addTimeEnd=function(end){if(this.proxy)return this.getProxy().addTimeEnd(end);this.put("addTimeEnd", end);return this;};
		
		 
	
	
	/** 状态 [非空]   1:正常 0:无效     **/
	this.status=function(status){if(this.proxy)return this.getProxy().status(status);  this.put("status", status);return this;};
	/** and status is null */
	this.statusNull=function(){if(this.proxy)return this.getProxy().statusNull();if(this.get("statusNot")==null)this.put("statusNot", "");this.put("status", null);return this;};
	/** not .... */
	this.statusNot=function(){if(this.proxy)return this.getProxy().statusNot();this.put("statusNot", "not");return this;};
	this.statusNotNull=function(){if(this.proxy)return this.getProxy().statusNotNull();this.put("statusNot", "not");this.put("status", null);return this;};
	this.statusNot=function(status){if(this.proxy)return this.getProxy().statusNot(status);this.put("statusNot", "not");this.put("status", status);return this;};
		
		
	this.statusIn=function(ids){
		if(this.proxy)return this.getProxy().statusIn(ids);  this.put("statusIn", ids);return this;
	};	
		 
	
	
	
	this.add=function(key,value) {if(proxy)return proxy().add(key,value);this.put(key, value);return this;}
	this.desc=function(sql) {if(proxy)return proxy().desc(sql);this.put("desc", sql);return this;}
	this.asc=function(sql) {if(proxy)return proxy().asc(sql);this.put("asc", sql);return this;}
	this.definex=function(sql) {if(proxy)return proxy().definex(sql);this.put("definex", sql);return this;}
	
	/** 获取所有用户优惠券 **/
	this.list=function(size){
		this.data.size = size;
		var protocol = ux.ajax("/admin/coupons/coupon.list.do",this.data);
		if(!protocol)return null;
		if(protocol.data && protocol.data.list)return protocol.data.list;
		return [];
	}
	/** 获取用户优惠券分页 **/
	this.page=function(page,size){
		this.data.size = size;
		this.data.page = page;
		var protocol = ux.ajax("/admin/coupons/coupon.list.do",this.data);
		if(!protocol)return null;
		if(protocol.data)return data;
		return {list:[]};
	}
	/** 根据查询条件取用户优惠券 **/
	this.get=function(){
		this.data.size = 1;
		var protocol = ux.ajax("/admin/coupons/coupon.list.do",this.data);
		if(!protocol)return null;
		if(protocol.data && protocol.data.list && protocol.data.list.length==1)return protocol.data.list[0]; 
		return null;
	}
}

Coupon.get = function(id){
	var protocol = ux.ajax("/admin/coupons/coupon.get.do",{id:id});
	if(!protocol)return null;
	if(protocol.data)return protocol.data.coupon;
	return null;
}

Coupon.where = new Coupon.Where(0,true);